#ifndef CLIENTE_H_
#define CLIENTE_H_

#include "../utils/Log.h"
#include "../utils/FuncionesComunes.h"
#include "../process/Semaforo.h"
#include "../process/SIGINT_Handler.h"
#include "../process/SignalHandler.h"
#include "Mensaje.h"
#include "Fifo.h"
#include <string>
#include <iostream>
#include <wait.h>

#define ARCHIVO_SEMAFORO "../process/Semaforo.cpp"

using namespace std;

class Cliente {
	public:
		Cliente(string apodo);
		void ejecutar();
		void activarModoDebug(bool activar);
		virtual ~Cliente();
	private:
		Semaforo sem;
		int id;
		string nombre;
		SIGINT_Handler sigint_handler;
		Log log;

		void leerMensajes(string);
		void enviarMensaje(Fifo &canal);
};

#endif /* CLIENTE_H_ */
